home *** CD-ROM | disk | FTP | other *** search
/ Enter 2005 October / enter-2005-10.iso / files / jedit42install.exe / {app} / modes / inform.xml < prev    next >
Encoding:
Extensible Markup Language  |  2004-08-29  |  7.5 KB  |  206 lines

  1. <?xml version="1.0"?>
  2.  
  3. <!DOCTYPE MODE SYSTEM "xmode.dtd">
  4.  
  5. <MODE>
  6.       <!-- Syntax highlighting mode for the Inform language. You can find out more about inform at
  7.            http://www.gnelson.demon.co.uk/inform.html
  8.            And an inform language guide at
  9.            http://www.gnelson.demon.co.uk/dman/index.html
  10.         -->
  11.     <PROPS>
  12.         <!--
  13.         <PROPERTY NAME="commentStart" VALUE="/*" />
  14.         <PROPERTY NAME="commentEnd" VALUE="*/" />
  15.         -->
  16.         <PROPERTY NAME="lineComment" VALUE="!" />
  17.         <PROPERTY NAME="wordBreakChars" VALUE=",+-=<>/?^&*" />
  18.  
  19.         <!-- Auto indent -->
  20.         <PROPERTY NAME="indentOpenBrackets" VALUE="{[" />
  21.         <PROPERTY NAME="indentCloseBrackets" VALUE="}]" />
  22.         <PROPERTY NAME="indentNextLine"
  23.             VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />
  24.         <!-- set this to 'true' if you want to use GNU coding style -->
  25.         <PROPERTY NAME="doubleBracketIndent" VALUE="false" />
  26.         <PROPERTY NAME="lineUpClosingBracket" VALUE="true" />
  27.         
  28.         <PROPERTY NAME="filenameGlob" VALUE="*.(inf|h)" />
  29.     </PROPS>
  30.         
  31.     <RULES
  32.             IGNORE_CASE="FALSE"
  33.             HIGHLIGHT_DIGITS="TRUE"
  34.             DIGIT_RE="(\$[[:xdigit:]]|[[:digit:]])">
  35.         <EOL_SPAN TYPE="COMMENT1">!</EOL_SPAN>
  36.  
  37.         <!-- strings can span lines -->
  38.         <SPAN TYPE="LITERAL1" DELEGATE="InformInnerText">
  39.             <BEGIN>"</BEGIN>
  40.             <END>"</END>
  41.         </SPAN>
  42.         <SPAN TYPE="LITERAL2">
  43.             <BEGIN>'</BEGIN>
  44.             <END>'</END>
  45.         </SPAN>
  46.         
  47.         <!-- preprocessor statements -->
  48.         <EOL_SPAN TYPE="KEYWORD2">#</EOL_SPAN>
  49.         <EOL_SPAN TYPE="COMMENT1">!</EOL_SPAN>
  50.         
  51.         <!-- special sequences that require special highlighting -->
  52.         <SEQ TYPE="OPERATOR">=</SEQ>
  53.         <SEQ TYPE="OPERATOR">==</SEQ>
  54.         <SEQ TYPE="OPERATOR">>=</SEQ>
  55.         <SEQ TYPE="OPERATOR"><=</SEQ>
  56.         <SEQ TYPE="OPERATOR">~=</SEQ>
  57.         <SEQ TYPE="OPERATOR">+</SEQ>
  58.         <SEQ TYPE="OPERATOR">-</SEQ>
  59.         <SEQ TYPE="OPERATOR">$</SEQ>
  60.         <SEQ TYPE="OPERATOR">/</SEQ>
  61.         <SEQ TYPE="OPERATOR">*</SEQ>
  62.         <SEQ TYPE="OPERATOR">></SEQ>
  63.         <SEQ TYPE="OPERATOR"><</SEQ>
  64.         <SEQ TYPE="OPERATOR">%</SEQ>
  65.         <SEQ TYPE="OPERATOR">&</SEQ>
  66.         <SEQ TYPE="OPERATOR">|</SEQ>
  67.         <SEQ TYPE="OPERATOR">^</SEQ>
  68.         <SEQ TYPE="OPERATOR">~</SEQ>
  69.         <SEQ TYPE="OPERATOR">}</SEQ>
  70.         <SEQ TYPE="OPERATOR">{</SEQ>
  71.         <SEQ TYPE="OPERATOR">]</SEQ>
  72.         <SEQ TYPE="OPERATOR">[</SEQ>
  73.         
  74.         <SEQ TYPE="OPERATOR">.&</SEQ>
  75.         <SEQ TYPE="OPERATOR">.#</SEQ>
  76.         <SEQ TYPE="OPERATOR">--></SEQ>
  77.  
  78.         <!-- Function calls -->
  79.         <MARK_PREVIOUS TYPE="FUNCTION" EXCLUDE_MATCH="TRUE">(</MARK_PREVIOUS>
  80.         <MARK_PREVIOUS TYPE="FUNCTION" EXCLUDE_MATCH="TRUE">::</MARK_PREVIOUS>
  81.  
  82.         <MARK_PREVIOUS AT_WHITESPACE_END="FALSE"
  83.             EXCLUDE_MATCH="TRUE"
  84.             TYPE="LABEL">:</MARK_PREVIOUS>
  85.         
  86.         <KEYWORDS>
  87.             <!-- operators -->
  88.             <KEYWORD1>has</KEYWORD1>
  89.             <KEYWORD1>hasnt</KEYWORD1>
  90.             <KEYWORD1>in</KEYWORD1>
  91.             <KEYWORD1>notin</KEYWORD1>
  92.             <KEYWORD1>ofclass</KEYWORD1>
  93.             <KEYWORD1>provides</KEYWORD1>
  94.             <KEYWORD1>or</KEYWORD1>
  95.             
  96.             <!-- text-base conversion functions -->
  97.             <LITERAL2>char</LITERAL2>
  98.             <LITERAL2>string</LITERAL2>
  99.             <LITERAL2>address</LITERAL2>
  100.             <LITERAL2>name</LITERAL2>
  101.             <LITERAL2>a</LITERAL2>
  102.             <LITERAL2>an</LITERAL2>
  103.             <LITERAL2>the</LITERAL2>
  104.             <LITERAL2>The</LITERAL2>
  105.             <LITERAL2>property</LITERAL2>
  106.             <LITERAL2>object</LITERAL2>
  107.             
  108.             <!-- language semantics -->
  109.             <KEYWORD1>break</KEYWORD1>
  110.             <KEYWORD1>continue</KEYWORD1>
  111.             <KEYWORD1>do</KEYWORD1>
  112.                 <KEYWORD1>until</KEYWORD1>
  113.             <KEYWORD1>for</KEYWORD1>
  114.             <KEYWORD1>give</KEYWORD1>
  115.             <KEYWORD1>if</KEYWORD1>
  116.                 <KEYWORD1>else</KEYWORD1>
  117.             <KEYWORD1>inversion</KEYWORD1>
  118.             <KEYWORD1>jump</KEYWORD1>
  119.             <KEYWORD1>move</KEYWORD1>
  120.                 <KEYWORD2>to</KEYWORD2>
  121.             <KEYWORD1>objectloop</KEYWORD1>
  122.             <KEYWORD1>remove</KEYWORD1>
  123.             <KEYWORD1>return</KEYWORD1>
  124.             <KEYWORD1>rfalse</KEYWORD1>
  125.             <KEYWORD1>rtrue</KEYWORD1>
  126.             <KEYWORD1>string</KEYWORD1>
  127.             <KEYWORD1>switch</KEYWORD1>
  128.             <KEYWORD1>while</KEYWORD1>
  129.             
  130.             <!-- class keyworks -->
  131.             <KEYWORD1>with</KEYWORD1>
  132. <!--            <KEYWORD1>has</KEYWORD1> -->
  133.             
  134.             <!-- built-in functions -->
  135.             <FUNCTION>new_line</FUNCTION>
  136.             <FUNCTION>print</FUNCTION>
  137.             <FUNCTION>print_ret</FUNCTION>
  138.             <FUNCTION>box</FUNCTION>
  139.             <FUNCTION>font</FUNCTION>
  140.                 <KEYWORD2>on</KEYWORD2>
  141.                 <KEYWORD2>off</KEYWORD2>
  142.             <FUNCTION>quit</FUNCTION>
  143.             <FUNCTION>read</FUNCTION>
  144.             <FUNCTION>restore</FUNCTION>
  145.             <FUNCTION>save</FUNCTION>
  146.             <FUNCTION>spaces</FUNCTION>
  147.             <FUNCTION>style</FUNCTION>
  148.                 <KEYWORD2>roman</KEYWORD2>
  149.                 <KEYWORD2>bold</KEYWORD2>
  150.                 <KEYWORD2>underline</KEYWORD2>
  151.                 <KEYWORD2>reverse</KEYWORD2>
  152.                 <KEYWORD2>fixed</KEYWORD2>
  153.             <FUNCTION>score</FUNCTION>
  154.             <FUNCTION>time</FUNCTION>
  155.             
  156.             <!-- Top-level keyworks -->
  157.             <KEYWORD3>Abbreviate</KEYWORD3>
  158.             <KEYWORD3>Array</KEYWORD3>
  159.             <KEYWORD3>Attribute</KEYWORD3>
  160.             <KEYWORD3>Class</KEYWORD3>
  161.             <KEYWORD3>Constant</KEYWORD3>
  162.             <KEYWORD3>Default</KEYWORD3>
  163.             <KEYWORD3>End</KEYWORD3>
  164.             <KEYWORD3>Endif</KEYWORD3>
  165.             <KEYWORD3>Extend</KEYWORD3>
  166.             <KEYWORD3>Global</KEYWORD3>
  167.             <KEYWORD3>Ifdef</KEYWORD3>
  168.             <KEYWORD3>Ifndef</KEYWORD3>
  169.             <KEYWORD3>Ifnot</KEYWORD3>
  170.             <KEYWORD3>Iftrue</KEYWORD3>
  171.             <KEYWORD3>Iffalse</KEYWORD3>
  172.             <KEYWORD3>Import</KEYWORD3>
  173.             <KEYWORD3>Include</KEYWORD3>
  174.             <KEYWORD3>Link</KEYWORD3>
  175.             <KEYWORD3>Lowstring</KEYWORD3>
  176.             <KEYWORD3>Message</KEYWORD3>
  177.             <KEYWORD3>Object</KEYWORD3>
  178.             <KEYWORD3>Property</KEYWORD3>
  179.             <KEYWORD3>Replace</KEYWORD3>
  180.             <KEYWORD3>Serial</KEYWORD3>
  181.             <KEYWORD3>Switches</KEYWORD3>
  182.             <KEYWORD3>Statusline</KEYWORD3>
  183.             <KEYWORD3>System_file</KEYWORD3>
  184.             <KEYWORD3>Verb</KEYWORD3>
  185.             <KEYWORD3>private</KEYWORD3>
  186.  
  187.             <LITERAL2>false</LITERAL2>
  188.             <LITERAL2>true</LITERAL2>
  189.             <LITERAL2>null</LITERAL2>
  190.             <LITERAL2>super</LITERAL2>
  191.             <LITERAL2>self</LITERAL2>
  192.             
  193.             <INVALID>this</INVALID>
  194.         </KEYWORDS>
  195.     </RULES>
  196.     <RULES SET="InformInnerText" IGNORE_CASE="FALSE" DEFAULT="LITERAL1">
  197.         <SEQ TYPE="OPERATOR">^</SEQ>
  198.         <SEQ TYPE="OPERATOR">~</SEQ>
  199.         <SEQ TYPE="OPERATOR">@</SEQ>
  200.         <SEQ TYPE="OPERATOR">\</SEQ>
  201.         
  202.         <!-- escaping the @ symbol -->
  203.         <SEQ TYPE="LITERAL2">@@</SEQ>
  204.     </RULES>
  205. </MODE>
  206.